
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Item;


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Esperanza
 */
public class ControladorInterfaz {
    private MiCartera miMidlet;
    private DatosRS auxDatos;


    public ControladorInterfaz(MiCartera midlet){
        miMidlet=midlet;
        auxDatos=new DatosRS();

    }

    public void meterRegistrosMonedas(){
        String[] m=new String[15];

        auxDatos.borraMonedas();

        m[0]="Euro";
        m[1]="EUR";
        m[2]="1";
        m[3]="0.7";
        m[4]="1.149";
        m[5]="US Dollar";
        m[6]="USD";
        m[7]="0.693";
        m[8]="1";
        m[9]="1.641";
        m[10]="British Pound Sterling";
        m[11]="GBP";
        m[12]="1.136";
        m[13]="0.609";
        m[14]="1";
        auxDatos.escribeMonedas(m);

    }

    public void meterRegistrosGastos(){
        String[] stringprueba=new String[12];

        auxDatos.borraGastos();

        stringprueba[0]="25-03-2011";
        stringprueba[1]="compra ebay";
        stringprueba[2]="123 EUR";
        stringprueba[3]="25-03-2011";
        stringprueba[4]="cine";
        stringprueba[5]="50 EUR";
        stringprueba[6]="12-02-2011";
        stringprueba[7]="cena importante";
        stringprueba[8]="150 EUR";
        stringprueba[9]="22-09-2002";
        stringprueba[10]="compra super";
        stringprueba[11]="30 EUR";
        auxDatos.escribeGastos(stringprueba);

    }

    public void extraerGastos(){//Lo llama MiCartera
        String[] datosGastos=null;//array contenedor de gastos
        String filagasto=null;//fila auxiliar a añadir ChoiceGroup
        int i=0;//contador del array datosGastos


        //Extraemos array de los gastos de MiCartera
        datosGastos=auxDatos.leeDatos("gastos");

        if (datosGastos.length==0){
            //Añadimos un StringItem al formulario para indicar que no hay gastos
            miMidlet.anadeStringItem("", "Sin gastos pendientes", Item.PLAIN);
            //filagasto="Sin gastos pendientes";
            //misGastosCartera.append(filagasto,null);


        }else{
        //Ordenamos en forma descendente por defecto
        datosGastos=auxDatos.ordenacionTemporalDescendente(datosGastos);

        //Incluimos lista de gastos a ChoiceGroup
        while (i<=datosGastos.length-1){
            System.out.println("Primer parametro de filagasto:"+datosGastos[i]);
            filagasto=datosGastos[i]+"("+datosGastos[i+1]+"):"+datosGastos[i+2];
            System.out.println("filagasto:"+filagasto);
            miMidlet.anadeFilaChoiceGroup(filagasto);
            i=i+3;
        }
        //Añadimos ChoiceGroup al formulario de PantallaInicial con los gastos
        miMidlet.anadeChoiceGroup();

        }
    }

    public void muestraMonedas(){//Lo llamaMiCartera
        String[] listamonedas;
        FVerMonedas formmoneditas;
        
        //Creo nueva pantalla formulario de monedas
        formmoneditas=new FVerMonedas(miMidlet, this);
        //Leo de RecordStore de monedas la lista de monedas
        listamonedas=auxDatos.leeDatos("monedas");
        //Ponemos formulario
        formmoneditas.pintate(listamonedas);

        
    }

    public String[] extraeMonedas(){//Lo llama FAnadeGasto y FEditarGasto
        String[] listamonedas;
        //Leo de RecordStore de monedas la lista de monedas
        listamonedas=auxDatos.leeDatos("monedas");
        return listamonedas;
    }

    public void escribeMonedas(String[] listamon){
        auxDatos.escribeMonedas(listamon);
    }
     
    public void haceRankingFechas(){//Lo llama MiCartera
        String[] datosGastos;//array contenedor de gastos
        String filagasto;//fila auxiliar a añadir ChoiceGroup
        int i=0;//contador del array datosGastos

        //Extraemos array de los gastos
        datosGastos=auxDatos.leeDatos("gastos");

        //Obtenemos y ordenamos de forma ascendete los gastos, el más reciente el primero
         if (datosGastos.length==0){
            //Añadimos un StringItem al formulario para indicar que no hay gastos
            miMidlet.anadeStringItem("Mis gastos", "No seas traidor,no hay gastos", Item.PLAIN);

        }else{
        //Ordenamos en forma ascendente
        datosGastos=auxDatos.ordenacionTemporalAscendente(datosGastos);

        //Borra todos los elementos anteriores del ChoiceGroup
        miMidlet.borraGastosChoiceGroup();

        //Incluimos lista de gastos a ChoiceGroup, puede que se hayan actualizado

        while (i<=datosGastos.length-1){
            System.out.println("Primer parametro de filagasto:"+datosGastos[i]);
            filagasto=datosGastos[i]+"("+datosGastos[i+1]+"):"+datosGastos[i+2];
            System.out.println("filagasto:"+filagasto);
            miMidlet.anadeFilaChoiceGroup(filagasto);
            i=i+3;
        }
        //Añadimos ChoiceGroup al formulario de PantallaInicial con los gastos en ascendente
        miMidlet.anadeChoiceGroup();
        }
    }

     public void haceRankingGastos(){//Lo llama MiCartera
        String[] datosGastos;//array contenedor de gastos
        String filagasto;//fila auxiliar a añadir ChoiceGroup
        int i=0;//contador del array datosGastos

        //Extraemos array de los gastos
        datosGastos=auxDatos.leeDatos("gastos");

        //Obtenemos y ordenamos de forma ascendete los gastos, el más reciente el primero
         if (datosGastos.length==0){
            //Añadimos un StringItem al formulario para indicar que no hay gastos
            miMidlet.anadeStringItem("Mis gastos", "No seas traidor,no hay gastos", Item.PLAIN);

        }else{
        //Ordenamos en forma ascendente
        datosGastos=auxDatos.ordenacionAscendenteGastos(datosGastos);

        //Borra todos los elementos anteriores del ChoiceGroup
        miMidlet.borraGastosChoiceGroup();

        //Incluimos lista de gastos a ChoiceGroup, puede que se hayan actualizado

        while (i<=datosGastos.length-1){
            System.out.println("Primer parametro de filagasto:"+datosGastos[i]);
            filagasto=datosGastos[i]+"("+datosGastos[i+1]+"):"+datosGastos[i+2];
            System.out.println("filagasto:"+filagasto);
            miMidlet.anadeFilaChoiceGroup(filagasto);
            i=i+3;
        }
        //Añadimos ChoiceGroup al formulario de PantallaInicial con los gastos en ascendente
        miMidlet.anadeChoiceGroup();
        }
    }


    public void anadeGasto(){//Lo llama MiCartera
        FAnadeGasto formuAnade;

        //Crea formulario
        formuAnade=new FAnadeGasto(miMidlet,this);

    }
    
    public void andeGastoRecordStore(FAnadeGasto formu){//Lo llama FAnadeGasto
        //Añade gasto al RecordStore en caso de aceptar
        
        String[] registrodado=new String[3];
        String[] nuevogasto=new String[3];
        
        //Extraemos el registro de la moneda seleccionada
        //a partir del índice del elemento seleccionado en el ChoiceGroup Monedas
        //y sólo no es necesario el campo 2 de posición 1 en el array donde está las siglas de la moneda
        registrodado=auxDatos.dameRegistroMonedas(formu.indicecampomoneda);
        System.out.println("Carga bien el registro de monedas por posicion?:"+registrodado[0]+registrodado[1]+registrodado[2]);

        System.out.println("Valor de posicion de ChoiceGroup Monedas"+formu.indicecampomoneda);
        System.out.println("Valor campofecha:"+formu.campofecha);
        System.out.println("Valor campocategoria:"+formu.campocategoria);
        System.out.println("Valor campocantindad:"+formu.campocantidad);


        if (formu.campofecha==null){
            formu.muestraErrorFecha();
        }else if(formu.campocategoria==null || formu.campocategoria.equals("")){
            formu.muestraErrorCategoria();
        }else if (formu.campocantidad==null || formu.campocantidad.equals("")){
            formu.muestraErrorCantidad();
        }else{

            //Formamos la cadena de strings del Gasto
            nuevogasto[0]=formu.campofecha;
            nuevogasto[1]=formu.campocategoria;
            nuevogasto[2]=formu.campocantidad+" "+registrodado[1];

            //Escribimos en el RecordStore el registro
            auxDatos.escribeGastos(nuevogasto);

            //Avisa de que se ha creado de Alerta
            formu.avisoCreacion();
            //Actualizamos Gastos de MiCartera
            miMidlet.actualizaGastos();

        }
    }

    public void cambiaGastoRecordStore(FEditarGasto formu){//Lo llama FEditarGasto
        //Cambia gasto al RecordStore en caso de aceptar

        String[] registrodado=new String[3];
        String[] nuevogasto=new String[3];

        //Extraemos el registro de la moneda seleccionada
        //a partir del índice del elemento seleccionado en el ChoiceGroup Monedas
        //y sólo no es necesario el campo 2 de posición 1 en el array donde está las siglas de la moneda
        registrodado=auxDatos.dameRegistroMonedas(formu.indicemoneda);
        System.out.println("Carga bien el registro de monedas por posicion?:"+registrodado[0]+registrodado[1]+registrodado[2]);

        System.out.println("Valor de posicion de ChoiceGroup Monedas"+formu.indicemoneda);
        System.out.println("Valor campofecha:"+formu.cadenafecha);
        System.out.println("Valor campocategoria:"+formu.cadenacategoria);
        System.out.println("Valor campocantindad:"+formu.cadenacantidad);


        if (formu.cadenafecha==null){
            formu.muestraErrorFecha();
        }else if(formu.cadenacategoria==null || formu.cadenacategoria.equals("")){
            formu.muestraErrorCategoria();
        }else if (formu.cadenacantidad==null || formu.cadenacantidad.equals("")){
            formu.muestraErrorCantidad();
        }else{

            //Formamos la cadena de strings del Gasto
            nuevogasto[0]=formu.cadenafecha;
            nuevogasto[1]=formu.cadenacategoria;
            nuevogasto[2]=formu.cadenacantidad+" "+registrodado[1];

            //Cambiamos en el RecordStore el registro
            auxDatos.cambiaGasto(nuevogasto, formu.posicionrs);

            System.out.println("Datos del nuevo gasto:"+nuevogasto[0]+nuevogasto[1]+nuevogasto[2]);

            //Avisa de que se ha creado de Alerta
            formu.avisoCreacion();
            //Actualizamos Gastos de MiCartera
            miMidlet.actualizaGastos();

        }

    }

    public void editarGasto(String cadenagastoseleccionado){//Lo llama MiCartera
        String[] campoGasto;
        FEditarGasto formueditar;
        int posicionrs=0;

        System.out.println("Cadena del gasto:"+cadenagastoseleccionado);

        //Extraemos campos de la cadena
        campoGasto=new String[3];
        int posicionblanco=cadenagastoseleccionado.indexOf("(");
        campoGasto[0]=cadenagastoseleccionado.substring(0, posicionblanco);

        int posicionblanco2=cadenagastoseleccionado.indexOf("):", posicionblanco+1);
        campoGasto[1]=cadenagastoseleccionado.substring(posicionblanco+1,posicionblanco2);

        campoGasto[2]=cadenagastoseleccionado.substring(posicionblanco2+2, cadenagastoseleccionado.length());

        System.out.println("La cadena dividida por campo0:"+campoGasto[0]);
        System.out.println("La cadena dividida por campo1:"+campoGasto[1]);
        System.out.println("La cadena dividida por campo2:"+campoGasto[2]);

        //Busca en RecordStore de gastos la posicion en el RecordStore de este gasto
        posicionrs=auxDatos.buscaPosicionGasto(campoGasto);

        System.out.println("Valor de posicion en el recorStore del gasto"+posicionrs);

        //Creamos formulario de edición
        formueditar=new FEditarGasto(this, miMidlet, campoGasto, posicionrs);

    }

    public int buscaMonedaRecordStore(String moneda){//Lo llama FAnadeGasto y VerMonedas
        //busca el índice para el ChoiceGroup de monedas a través
        //de las siglas de la moneda

        System.out.println("Valor siglas de moneda:"+moneda);
        return auxDatos.dameIndiceMoneda(moneda)-1;

    }

    public void borrarGastoRecordStore (int posicion){//Lo llama FBorrarGasto
        auxDatos.borraGasto(posicion);

    }

    public double calculaTotalGasto(String monedareferencia){//Lo llama MiCartera
        String [] listagastos;
        String [] listamonedas;
        String cadenamoneda;
        double gastoTotalMonedaReferencia=0;
        double gastoTotalMonedaDiferente=0;
        int indicecolumnaconversion=0;//me dice el índice de columna de la tabla de divisas cruzadas


        //Extrae lista de gastos y monedas
        listagastos=auxDatos.leeDatos("gastos");
        listamonedas=auxDatos.leeDatos("monedas");

        //Calcula el gastoTotal en la moneda de referencia
        for (int i=0; i<=listagastos.length-1; i=i+3){
            System.out.println("Mostrar listagastos[i+2]:"+listagastos[i+2]);
            cadenamoneda=listagastos[i+2].substring(listagastos[i+2].indexOf(" ")+1, listagastos[i+2].length());
            if (cadenamoneda.equals(monedareferencia)){
                //Si es valor de la misma referencia se suma y se va acumulando
                gastoTotalMonedaReferencia=gastoTotalMonedaReferencia+Double.parseDouble(listagastos[i+2].substring(0, listagastos[i+2].indexOf(" ")));
            }else{ //Si el gasto es en una moneda diferente a la de referencia se multiplica por el valor

                //Caluculo número de registros por tamaño de array
                double n=(-2+Math.sqrt(4+4*listamonedas.length))/2;
                //Pasamos a entero redondeando hacia abajo
                int nentero=(int)n;

                for (int j=0; j<=listamonedas.length-1; j=j+nentero+2){//Accedemos al valor de divisas en la tabla de divisas cruzadas y multiplicamos por la cantidad

                    if (monedareferencia.equals(listamonedas[j+1])){//Nos colocamos en la fila de la tabla de divisas cruzadas para tener las conversiones
                        indicecolumnaconversion=auxDatos.dameIndiceMoneda(cadenamoneda); //Nos dice el índice de columna de la tabla de conversiones de divisas, +1 porque el metodo sigue indizacion de lista y array
                        System.out.println("Valor del gasto pasado a double:"+listagastos[i+2].substring(0, listagastos[i+2].indexOf(" ")));
                        System.out.println("Divisa a multiplicar de la tabla divisas:"+listamonedas[j+1+indicecolumnaconversion]);
                        System.out.println("Indice de la columna de conversión:"+indicecolumnaconversion);
                        gastoTotalMonedaDiferente=gastoTotalMonedaDiferente+(Double.parseDouble(listagastos[i+2].substring(0, listagastos[i+2].indexOf(" ")))*Double.parseDouble(listamonedas[j+1+indicecolumnaconversion]));
                        System.out.println("Gasto total en moneda de referencia:"+String.valueOf(gastoTotalMonedaDiferente));
                    }
                    
                }
            }
        }


        return gastoTotalMonedaReferencia+gastoTotalMonedaDiferente;
    }

    public void cambiaMonedaReferencia(FVerMonedas formu){//Lo llama FVerMonedas
        String[] cadenaMoneda;

        cadenaMoneda=auxDatos.dameRegistroMonedas(formu.monedaSeleccionada);

        if (cadenaMoneda[1].equals(miMidlet.monedaReferencia)){//No ha cambiado MR, sigue el mismo
            formu.muestraAviso();
        }else{//Ha cambiado de moneda de referencia MR
            miMidlet.monedaReferencia=cadenaMoneda[1];
            formu.avisoCambioMR();
            miMidlet.actualizaGastos();
        }

    }

    public void nuevaMoneda (){//Lo llama FAnadeGasto y FVerMonedas
        FNuevaMoneda formuNuevaMoneda;

        //Crea formulario de Nueva Moneda
        formuNuevaMoneda=new FNuevaMoneda(miMidlet,this);
    }


    public void estableceConexion(FNuevaMoneda formu){//Lo llama FNuevaMoneda
        //Establece conexión según las siglas de moneda que le pasemos
        //y especifica si existe
        String URL = "http://download.finance.yahoo.com";
        String ACTION = "/d/quotes?s=";
        String QUERY = "=X&f=sl1";        
        HttpConnection http = null;
        InputStream is = null;
        double divisaresultado=0;

        

        if (formu.cadenasiglas.equals("")){//Si el campo está vacío
            formu.muestraErrorSiglaVacia();
        }else{//Si hemos introducido siglas de nueva moneda

            //Creamos dirección a consultar
            String url = URL + ACTION +formu.cadenasiglas+formu.cadenasiglas + QUERY;

             try{
                 //Creamos la conexión
                  http=(HttpConnection)Connector.open(url);

                 //Informamos del tipo de petición que vamos a efectuar
                 http.setRequestMethod(HttpConnection.GET);

                 //Establecemos algunos campos de cabecera, opcional
                 http.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLCD-1.0");
                 http.setRequestProperty("Content-Language", "es-ES");

                 //Miramos si existe la moneda especificada por las siglas
                 is = http.openInputStream();

                 //Obtenemos datos
                 byte datos[] = new byte[75];
                 is.read(datos);
                 String resultado = new String(datos);
                 System.out.println("Resultado de respuesta:"+resultado);

                 //Extraemos la divisa-resultado
                 System.out.println(resultado.substring(resultado.indexOf(",")+1, resultado.length()));
                 divisaresultado=Double.parseDouble(resultado.substring(resultado.indexOf(",")+1, resultado.length()));

                 //Comprobamos, si divisa es =1 existe tal moneda, si es =0 no existe la moneda
                 //Y comprobamos si no está ya en nuestro RecordStore y el recordStore no está vacío
                 int posicionmoneda=auxDatos.dameIndiceMoneda(formu.cadenasiglas);
                 if(posicionmoneda==0){//La moneda ya está registrada
                     if(divisaresultado==1){
                         //La moneda existe y no está ya en nuestro RecordStore
                        this.registramosNuevaMonedaRecordStore(formu.cadenasiglas);
                        formu.avisoCreacionMoneda(formu.cadenasiglas);
                     }else{
                         formu.muestraErrorExistenciaSigla();
                     }
                     
                 }else{
                     formu.muestraErrorYaExiste();
                 }

             }catch (IOException e){
                System.out.println("Error al conectar");

             }
            try{
                http.close();
            }catch (IOException e){
                System.out.println("Error al cerrar la conexión");
            }
        }
    }

    public void registramosNuevaMonedaRecordStore(String siglasnuevamoneda){//Lo llama método estableceConexion
        //Este método introduce la nueva moneda al RecordStore de monedas
        //y completa la tabla de divisas cruzadas
        HttpConnection http = null;
        InputStream is = null;
        String[] filadivisasnuevamoneda=null;
        String[] columnadivisasnuevamoneda=null;
        String[] listamonedas;
        String descripcion="";
        String url = "http://www.linuxlots.com/~barreiro/spanish/gnome-es/gnucash/xacc-isocurr.html";
        String url2="http://www.xe.com/ucc/convert.cgi?language=es&Amount=1&From=EUR&To=USD";
        String url3="http://www.xe.com/ucc/full/";

        //Extraemos descripción de la nueva moneda
           /*  try{
                 //Creamos la conexión
                 http=(HttpConnection)Connector.open(url3);

                 //Informamos del tipo de petición que vamos a efectuar
                 http.setRequestMethod(HttpConnection.GET);

                 //Establecemos algunos campos de cabecera, opcional
                 http.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLCD-1.0");
                 http.setRequestProperty("Content-Language", "es-ES");

                 //Miramos si existe la moneda especificada por las siglas
                 is = http.openInputStream();

                 //Obtenemos datos
                 byte datos[] = new byte[5000];
                 is.read(datos);
                 String resultado = new String(datos);
                 System.out.println("Resultado de descripcion:"+resultado);
                 descripcion=resultado;

             }catch (IOException e){
                 System.out.println("Error al conectar con lista de codigos de monedas");
             }*/

        //Extraemos la fila de divisas de la moneda en particular para la tabla de divisas cruzadas
            listamonedas=auxDatos.leeDatos("monedas");

            //Caluculo número de registros por tamaño de array de listamonedas
            double n=(-2+Math.sqrt(4+4*listamonedas.length))/2;

            //Pasamos a entero redondeando hacia abajo
            int nentero=(int)n;

            //Inicializamos listadivisasnuevamoneda con número de monedas que se va almacenar recordStore monedas+1
            filadivisasnuevamoneda=new String[nentero+1];

            int contadordevueltas=0;//contador de vueltas para filadivisasnuevamoenda
            for (int i=0; i<= listamonedas.length-1;i=i+nentero+2){
                //Creamos dirección a consultar
                System.out.println("Valor de listamonedas[i+1]:"+listamonedas[i+1]);
                String urlconsulta = "http://download.finance.yahoo.com/d/quotes?s="+siglasnuevamoneda+listamonedas[i+1]+"=X&f=sl1";

                 try{
                    //Creamos la conexión
                     http=(HttpConnection)Connector.open(urlconsulta);

                    //Informamos del tipo de petición que vamos a efectuar
                    http.setRequestMethod(HttpConnection.GET);

                    //Establecemos algunos campos de cabecera, opcional
                    http.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLCD-1.0");
                    http.setRequestProperty("Content-Language", "es-ES");

                    //Miramos si existe la moneda especificada por las siglas
                    is = http.openInputStream();

                    //Obtenemos datos
                    byte datos[] = new byte[75];
                    is.read(datos);
                    String resultado = new String(datos);
                    System.out.println("Resultado de respuesta:"+resultado);

                    //Extraemos la divisa-resultado
                    System.out.println(resultado.substring(resultado.indexOf(",")+1, resultado.length()));
                    double divisaresultado=Double.parseDouble(resultado.substring(resultado.indexOf(",")+1, resultado.length()));
                    filadivisasnuevamoneda[contadordevueltas]=String.valueOf(divisaresultado);
                    System.out.println("Se guarda en filadivisasnuevamoneda[contadordevuelas:"+filadivisasnuevamoneda[contadordevueltas]+"y contadordevueltas:"+contadordevueltas);

                    //Cerramos InputStream
                    is.close();
                    datos=null;
                    

                    //sumamos al contador
                    contadordevueltas++;

                }catch (IOException e){
                    System.out.println("Error al conectar");
                }
                
            }
            try{
                   http.close();
            }catch (IOException e){
                   System.out.println("Error al cerrar la conexión");
            }           
        
            //Una vez almacenamos las divisas correspondiente a las monedas almacenadas, introducimos la divisa de la propia moneda:1
            filadivisasnuevamoneda[nentero]="1";
            System.out.println("Se guarda en filadivisasnuevamoneda[nentero]:"+filadivisasnuevamoneda[contadordevueltas]+"y contadordevueltas_final:"+contadordevueltas);


        //Extraemos la columna de divisas de la moneda en particular para la tabla de divisas cruzadas

            contadordevueltas=0;//inicializamos contador de vueltas para columnadivisasnuevamoenda
            //Inicializamos columnadivisasnuevamoneda con número de monedas que se va almacenar recordStore monedas
            columnadivisasnuevamoneda=new String[nentero];
            for (int i=0; i<= listamonedas.length-1;i=i+nentero+2){
                //Creamos dirección a consultar
                String urlconsulta2 = "http://download.finance.yahoo.com/d/quotes?s="+listamonedas[i+1]+siglasnuevamoneda+"=X&f=sl1";

                 try{
                    //Creamos la conexión
                     http=(HttpConnection)Connector.open(urlconsulta2);

                    //Informamos del tipo de petición que vamos a efectuar
                    http.setRequestMethod(HttpConnection.GET);

                    //Establecemos algunos campos de cabecera, opcional
                    http.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLCD-1.0");
                    http.setRequestProperty("Content-Language", "es-ES");

                    //Miramos si existe la moneda especificada por las siglas
                    is = http.openInputStream();

                    //Obtenemos datos
                    byte datos[] = new byte[75];
                    is.read(datos);
                    String resultado = new String(datos);
                    System.out.println("Resultado de respuesta:"+resultado);

                    //Extraemos la divisa-resultado
                    System.out.println(resultado.substring(resultado.indexOf(",")+1, resultado.length()));
                    double divisaresultado=Double.parseDouble(resultado.substring(resultado.indexOf(",")+1, resultado.length()));
                    System.out.println("Valor de contador de vueltas:"+contadordevueltas);
                    columnadivisasnuevamoneda[contadordevueltas]=String.valueOf(divisaresultado);
                    System.out.println("Se guarda en columnaivisasnuevamoneda[contadordevuelas:"+columnadivisasnuevamoneda[contadordevueltas]+"y contadordevueltas:"+contadordevueltas);

                    //Resetamos y cerramos InputStream
                    is.close();
                    datos=null;

                    //sumamos al contador
                    contadordevueltas++;

                }catch (IOException e){
                    System.out.println("Error al conectar");
                }
                
            }
            try{
               http.close();
            }catch (IOException e){
                System.out.println("Error al cerrar la conexión");
            }

            //Llamamos a almacenar al RecordStore de monedas la nueva moneda
            auxDatos.introducirNuevaMoneda(siglasnuevamoneda,descripcion,filadivisasnuevamoneda,columnadivisasnuevamoneda);

    }

    public void borrarGastos(){//Lo llama MiCartera
        FBorrarTodosGastos formuborrar;

        formuborrar=new FBorrarTodosGastos(miMidlet,this);
    }


    public void borrarTodosGastoRecordStore(){//Lo llama FBorrarTodosGastos

        //Borramos todos los gastos del recordStore gastos
        System.out.println("entraentraentraentraentraentraentraentranentraentreaentrea");
        auxDatos.borraGastos();

    }
}
